The present invention pertains to spatial filters for two dimensional arrays of data, and in particular to spatial filters for images, such as those produced by X-ray equipment.
Fluoroscopic imaging apparatus include a source for projecting an X-ray beam through an object to be examined, such as a medical patient. After the beam passes through the patient, an image intensifier converts the X-ray radiation into a visible light image from which a video camera produces an analog video signal for display on a monitor. The analog camera signal also can be digitized into a series of picture elements (pixels) for further processing and storage.
The digital pixels often are processed to clarify the image and enhance specific features of interest. A common enhancement technique processes the image with a two dimensional spatial filter. For this technique, a filtered value for each pixel is derived according to a defined arithmetic function from the value of that pixel and selected neighboring pixels. In order to apply that type of function, the pixels for the entire image must be sent to a filter pipeline in a progressive order, i.e. from one edge of the image to the opposite edge.
However, pixels are not obtained from most video cameras in a progressive order. A conventional video camera produces an image frame as two interlaced fields of rows of pixels. One field results from sequential scanning of only odd numbered rows, while the other field is produced by scanning the even pixel rows. Therefore, the field interlaced image has to be converted to a progressive scan for spatial filtering and then reconverted to an interlaced format for display on a standard monitor.
A previous spatial filter 10 for a two dimensional image is shown in FIG. 1. The field interlaced video signal from a camera is coupled to an analog-to-digital converter (ADC) 11 which produced a series of digital numbers representing the luminance of the pixels in the image. The digital pixels from the ADC 11 are stored temporarily in a first frame buffer 12 in the non-progressive order as received from the camera. The pixels are stored as a two dimensional array in which a given pixel is located in a row and a column of the array.
After the entire image frame has been stored, the pixels are read from the first frame buffer 12 in a progressive order from one image edge to another (e.g. from top to bottom) and applied to a two dimensional spatial filter circuit 13. A common spatial filter circuit 13 applies a Gaussian filter function G(r,c), where r is the row location and c is the column location of the pixels in the image. This type of filter determines a new value for each pixel by averaging its luminance with that of its neighbors in a Gaussian weighed manner. The filtered pixels then are stored in a second frame buffer 14 in order to convert the progressive output from the filter 13 into a standard video format. After an entire frame of pixels has been stored, the image is read from the second frame buffer 14 row by row in a field interlaced manner. The filtered pixels are sent to a video signal circuit 15 which produced a conventional video signal for displaying the enhanced image on a monitor.
The pair of frame buffers 12 and 14 delays the image for two frame scan intervals in order to convert the image to and from the progressive scan format required by the filter circuit 13. This delay, when added to the delay due to the two dimensional filter, can be objectionable to the user. For example, during real-time fluoroscopic examination, a perceptible time lag occurs between manipulation of a catheter within a patient and movement in the displayed image. Therefore, it is desirable to reduce the filtering delay as much as possible. In addition, requiring multiple frame buffers to store the image in the spatial filter adds to the cost of that component.